package com.codefish.framework.spring.aop.framework;

import com.codefish.framework.spring.aop.framework.AdviseSupport;
import com.codefish.framework.spring.aop.framework.IAopProxy;

/**
 * 根据配置决定使用jdk动态代理还是cglib动态代理
 * @author <a href='https://gitee.com/hzf2281'>codefish</a>
 * @version 1.0.0
 * @since 2022/10/20 下午 08:14
 */
public interface IAopProxyFactory {
    /**
     * 创建合适的AopProxy对象
     * @param adviseSupport 目标代理对象的基本信息配置
     * @return 适合传入的adviseSupport的aop代理对象
     */
    IAopProxy createAopProxy(AdviseSupport adviseSupport);
}
